using System;
using System.Collections.Generic;
using System.Text;

namespace Emlyn.Common.Collections
{
    public interface ISimpleDictionary<TKey, TValue>: ICollection<TValue>
        where TValue: IKeyable<TKey>
    {
        void AddByValue(TValue aValue);
        void RemoveByValue(TValue aValue);
        void RemoveByKey(TKey aKey);

        TValue GetByKey(TKey aKey);
        TValue GetByValue(TValue aValue);

        bool ContainsKey(TKey aKey);
        bool ContainsValue(TValue aValue);
    }
}
